//
//  BaseViewController.h
//  TeacherPro
//
//  Created by DCQ on 2017/4/24.
//  Copyright © 2017年 ZNXZ. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface BaseViewController : UIViewController



/**
 @ 方法描述    viewRect
 
 @ 返回参数       UIRectEdgeNone  不被覆盖  UIRectEdgeAll  需要要设置  extendedLayoutIncludesOpaqueBars 属性 为YES 覆盖  NO 不覆盖
 @ 创建人     DCQ
 */
- (UIRectEdge)getViewRect;

//
/**
 @ 方法描述    设置导航条的透明
 @ 返回参数    如果导航栏是不透明的, 默认UIViewController的View就会往下移, 在导航栏下显示, 如果不想往下移, YES 全屏View显示在导航栏挡住  NO 为下移64高度 View不会被导航栏挡住
 @ 创建人     DCQ
 */
- (BOOL )getLayoutIncludesOpaqueBars;


/**
 @ 方法描述    自定义导航条的显示
 @ 返回参数     NO
 @ 创建人     DCQ
 */
- (BOOL )getNavBarBgHidden;
/**
 @ 方法描述    push新的控制器到导航控制器
 @ 输入参数    viewController: 目标新的控制器对象
 @ 创建人     DCQ
 */
- (void)pushViewController:(UIViewController *)viewController;


/**
 @ 方法描述    present一个新的控制器
 @ 输入参数    viewController: 目标新的控制器对象
 @ 创建人     DCQ
 */
- (void)presentViewController:(UIViewController *)viewController modalTransitionStyle:(UIModalTransitionStyle)style completion:(void (^)(void))completion;





/**
 @ 方法描述    设置导航栏标题
 @ 输入参数    titleStr: 标题
 @ 创建人      DCQ
 */
- (void) setNavigationItemTitle:(NSString *)titleStr;

/**
 @ 方法描述    设置导航栏标题
 @ 输入参数    titleStr: 标题 font:标题字体 titleColor:字体颜色
 @ 创建人     DCQ
 */
- (void)setNavigationItemTitle:(NSString *)titleStr titleFont:(UIFont *)font titleColor:(UIColor *)titleColor;

/**
 @ 方法描述    返回上一页
 @ 输入参数    无
 @ 创建人     DCQ
 */
- (void)backViewController;

- (BOOL )isShowBackItem;

- (void)showAlertView:(NSString *)msg withConfirmAction:(void (^ __nullable)(UIAlertAction *action))confirmHandler withCancelAction:(void (^ __nullable)(UIAlertAction *action))cancelHandler;
- (void)showAlertView:(NSString *)msg withConfirmAction:(void (^ __nullable)(UIAlertAction *action))confirmHandler;
@end
